﻿@namespace ThingsGateway.Admin.Razor
@typeparam TItem


<div class="tg-table h-100">

    <Table TItem="TItem" IsBordered="true" IsStriped="true" TableSize="TableSize.Compact" IsMultipleSelect="IsMultipleSelect" @ref="Instance" SearchTemplate="SearchTemplate"
           DataService="DataService" CreateItemCallback="CreateItemCallback!"
           IsPagination="IsPagination" PageItemsSource="PageItemsSource" IsFixedHeader="IsFixedHeader" IndentSize=24 RowHeight=RowHeight ShowSearchText="ShowSearchText" ShowSearchButton="ShowSearchButton" BeforeShowEditDialogCallback="BeforeShowEditDialogCallback!"
           IsTree="IsTree" OnTreeExpand="OnTreeExpand!" TreeNodeConverter="TreeNodeConverter!" TreeIcon="fa-solid fa-circle-chevron-right" TreeExpandIcon="fa-solid fa-circle-chevron-right fa-rotate-90" IsAutoQueryFirstRender=IsAutoQueryFirstRender
           ShowDefaultButtons="ShowDefaultButtons" ShowAdvancedSearch="ShowAdvancedSearch" ShowResetButton=ShowResetButton
           ShowEmpty="ShowEmpty" EmptyText="@EmptyText" EmptyImage="@($"{WebsiteConst.DefaultResourceUrl}images/empty.svg")" SortString="@SortString" EditDialogSize="EditDialogSize"
           OnQueryAsync="OnQueryAsync!" OnDeleteAsync="OnDeleteAsync!" OnSaveAsync="OnSaveAsync!" OnAddAsync="OnAddAsync" EditFooterTemplate=EditFooterTemplate ScrollingDialogContent=ScrollingDialogContent
           ShowSkeleton="true" ShowLoading="ShowLoading" ShowSearch="ShowSearch" SearchModel=@SearchModel ShowLineNo
           SearchMode=SearchMode ShowExportPdfButton=ShowExportPdfButton ExportButtonText=@ExportButtonText
           ShowExportButton=@ShowExportButton Items=Items ClickToSelect=ClickToSelect ScrollMode=ScrollMode
           ShowExportCsvButton=@ShowExportCsvButton SelectedRowsChanged=SelectedRowsChanged ShowCardView=ShowCardView
           FixedExtendButtonsColumn=FixedExtendButtonsColumn FixedMultipleColumn=FixedMultipleColumn FixedDetailRowHeaderColumn=FixedDetailRowHeaderColumn FixedLineNoColumn=FixedLineNoColumn
           IsAutoRefresh=IsAutoRefresh AutoRefreshInterval=AutoRefreshInterval
           AllowDragColumn=@AllowDragColumn Height=@Height ShowRefresh=ShowRefresh
           AllowResizing=@AllowResizing ExportButtonDropdownTemplate=ExportButtonDropdownTemplate
           ShowToolbar="ShowToolbar" ClientTableName="@ClientTableName"
           ShowExtendButtons="ShowExtendButtons"
           ShowAddButton=@(ShowAddButton??AuthorizeButton(AdminOperConst.Add))
           ShowDeleteButton=@(ShowDeleteButton??AuthorizeButton(AdminOperConst.Delete))
           ShowEditButton=@(ShowEditButton??AuthorizeButton(AdminOperConst.Edit))
           ShowExtendDeleteButton=@(ShowExtendDeleteButton??AuthorizeButton(AdminOperConst.Delete))
           ShowExtendEditButton=@(ShowExtendEditButton??AuthorizeButton(AdminOperConst.Edit))
           ShowMultiFilterHeader=ShowMultiFilterHeader
           ShowFilterHeader=ShowFilterHeader
           ShowColumnList=ShowColumnList ExtendButtonColumnWidth="@ExtendButtonColumnWidth"
           CustomerSearchModel="CustomerSearchModel" SelectedRows="SelectedRows" ModelEqualityComparer="ModelEqualityComparer!"
           ShowExtendEditButtonCallback="ShowExtendEditButtonCallback!" ShowExtendDeleteButtonCallback="ShowExtendDeleteButtonCallback!"
           DisableExtendEditButton="DisableExtendEditButton!" DisableExtendDeleteButton="DisableExtendDeleteButton!"
           DisableExtendEditButtonCallback="DisableExtendEditButtonCallback!" DisableExtendDeleteButtonCallback="DisableExtendDeleteButtonCallback!"
           SetRowClassFormatter="SetRowClassFormatter!" OnAfterSaveAsync="OnAfterSaveAsync!" OnAfterDeleteAsync="OnAfterDeleteAsync!"
           OnAfterModifyAsync="OnAfterModifyAsync!" AutoGenerateColumns="AutoGenerateColumns"
           TableExtensionToolbarTemplate="TableExtensionToolbarTemplate" TableExtensionToolbarBeforeTemplate="TableExtensionToolbarBeforeTemplate"
           TableToolbarTemplate="TableToolbarTemplate" TableToolbarBeforeTemplate="TableToolbarBeforeTemplate!" TableColumns="TableColumns" EditTemplate="EditTemplate!"
           CustomerSearchTemplate="CustomerSearchTemplate!" RowButtonTemplate="RowButtonTemplate!" BeforeRowButtonTemplate="BeforeRowButtonTemplate!"
           DoubleClickToEdit="DoubleClickToEdit"
           OnDoubleClickCellCallback="OnDoubleClickCellCallback"
           OnDoubleClickRowCallback="OnDoubleClickRowCallback"
           OnClickRowCallback="OnClickRowCallback">
    </Table>
</div>
